home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Sprite 1984 - 1993
/
Sprite 1984 - 1993.iso
/
lib
/
tex
/
inputs
/
remark.sty
< prev
next >
Wrap
Text File
|
1991-05-20
|
5KB
|
131 lines
% ****************************************
% * REMARK ENVIRONMENTS *
% ****************************************
%
% The user creates his own remark-like environments with the command
% \newremark{NAME}{TEXT}[COUNTER] or
% \newremark{NAME}[OLDNAME]{TEXT}
% This defines the environment NAME to be just as one would expect a
% remark environment to be, except that it prints ``TEXT'' instead of
% ``Remark''.
%
% If OLDNAME is given, then environments NAME and OLDNAME use the same
% counter, so using a NAME environment advances the number of the next
% NAME environment, and vice-versa.
%
% If COUNTER is given, then environment NAME is numbered within COUNTER.
% E.g., if COUNTER = subsection, then the first NAME in subsection 7.2
% is numbered TEXT 7.2.1.
%
% The way NAME environments are numbered can be changed by redefining
% \theNAME.
%
% DOCUMENT STYLE PARAMETERS
%
% \@rmkcounter{COUNTER} : A command such that
% \edef\theCOUNTER{\@rmkcounter{COUNTER}}
% defines \theCOUNTER to produce a number for a remark environment.
% The default is:
% BEGIN \noexpand\arabic{COUNTER} END
%
% \@rmkcountersep : A separator placed between a remark number and
% the number of the counter within which it is numbered.
% E.g., to make the third remark of section 7.2 be numbered
% 7.2-3, \@rmkcountersep should be \def'ed to '-'. Its
% default is '.'.
%
% \@beginremark{NAME}{NUMBER} : A command that begins a remark
% environment for a 'remark' named 'NAME NUMBER' --
% e.g., \@beginremark{Lemma}{3.7} starts Lemma 3.7.
%
% \@opargbeginremark{NAME}{NUMBER}{OPARG} : A command that begins a remark
% environment for a 'remark' named 'NAME NUMBER' with optional
% argument OPARG -- e.g., \@beginremark{Lemma}{3.7}{Jones}
% starts `Lemma 3.7 (Jones):'.
%
% \@endremark : A command that ends a remark environment.
%
% \newremark{NAME}{TEXT}[COUNTER] ==
% BEGIN
% if \NAME is definable
% then \@definecounter{NAME}
% if COUNTER present
% then \@addtoreset{NAME}{COUNTER} fi
% \theNAME == BEGIN \theCOUNTER \@rmkcountersep
% eval\@rmkcounter{NAME} END
% else \theNAME == BEGIN eval\@rmkcounter{NAME} END
% \NAME == \@rmk{NAME}{TEXT}
% \endNAME == \@endremark
% else error
% fi
% END
%
% \newremark{NAME}[OLDNAME]{TEXT}==
% BEGIN
% if \NAME is definable
% then \theNAME == \theOLDNAME
% \NAME == \@rmk{OLDNAME}{TEXT}
% \endNAME == \@endremark
% else error
% fi
% END
%
% \@rmk{NAME}{TEXT} ==
% BEGIN
% \refstepcounter{NAME}
% if next char = [
% then \@yrmk{NAME}{TEXT}
% else \@xrmk{NAME}{TEXT}
% fi
% END
%
% \@xrmk{NAME}{TEXT} ==
% BEGIN
% \@beginremark{TEXT}{\theNAME}
% \ignorespaces
% END
%
% \@yrmk{NAME}{TEXT}[OPARG] ==
% BEGIN
% \@opargbeginremark{TEXT}{\theNAME}{OPARG}
% \ignorespaces
% END
%
\def\newremark#1{\@ifnextchar[{\@ormk{#1}}{\@nrmk{#1}}}
\def\@nrmk#1#2{%
\@ifnextchar[{\@xnrmk{#1}{#2}}{\@ynrmk{#1}{#2}}}
\def\@xnrmk#1#2[#3]{\expandafter\@ifdefinable\csname #1\endcsname
{\@definecounter{#1}\@addtoreset{#1}{#3}%
\expandafter\xdef\csname the#1\endcsname{\expandafter\noexpand
\csname the#3\endcsname \@rmkcountersep \@rmkcounter{#1}}%
\global\@namedef{#1}{\@rmk{#1}{#2}}\global\@namedef{end#1}{\@endremark}}}
\def\@ynrmk#1#2{\expandafter\@ifdefinable\csname #1\endcsname
{\@definecounter{#1}%
\expandafter\xdef\csname the#1\endcsname{\@rmkcounter{#1}}%
\global\@namedef{#1}{\@rmk{#1}{#2}}\global\@namedef{end#1}{\@endremark}}}
\def\@ormk#1[#2]#3{\expandafter\@ifdefinable\csname #1\endcsname
{\global\@namedef{the#1}{\@nameuse{the#2}}%
\global\@namedef{#1}{\@rmk{#2}{#3}}%
\global\@namedef{end#1}{\@endremark}}}
\def\@rmk#1#2{\refstepcounter
{#1}\@ifnextchar[{\@yrmk{#1}{#2}}{\@xrmk{#1}{#2}}}
\def\@xrmk#1#2{\@beginremark{#2}{\csname the#1\endcsname}\ignorespaces}
\def\@yrmk#1#2[#3]{\@opargbeginremark{#2}{\csname
the#1\endcsname}{#3}\ignorespaces}
%DEFAULT VALUES
\def\@rmkcounter#1{\noexpand\arabic{#1}}
\def\@rmkcountersep{.}
%deleted September 2, 1986 MDK
%\def\@makermknumber#1#2{\bf #1 #2:}
\def\@beginremark#1#2{\trivlist \item[\hskip \labelsep{\bf #1\ #2}]}
\def\@opargbeginremark#1#2#3{\trivlist
\item[\hskip \labelsep{\bf #1\ #2\ (#3)}]}
\def\@endremark{\endtrivlist}